package com.ifudata.dvp.app.dao.mapper.base.bo;

import java.util.ArrayList;
import java.util.List;

public class AppAreaCriteria {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer limitStart;

    protected Integer limitEnd;

    public AppAreaCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimitStart(Integer limitStart) {
        this.limitStart=limitStart;
    }

    public Integer getLimitStart() {
        return limitStart;
    }

    public void setLimitEnd(Integer limitEnd) {
        this.limitEnd=limitEnd;
    }

    public Integer getLimitEnd() {
        return limitEnd;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAreaCodeIsNull() {
            addCriterion("area_code is null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIsNotNull() {
            addCriterion("area_code is not null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeEqualTo(String value) {
            addCriterion("area_code =", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotEqualTo(String value) {
            addCriterion("area_code <>", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThan(String value) {
            addCriterion("area_code >", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThanOrEqualTo(String value) {
            addCriterion("area_code >=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThan(String value) {
            addCriterion("area_code <", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThanOrEqualTo(String value) {
            addCriterion("area_code <=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLike(String value) {
            addCriterion("area_code like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotLike(String value) {
            addCriterion("area_code not like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIn(List<String> values) {
            addCriterion("area_code in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotIn(List<String> values) {
            addCriterion("area_code not in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeBetween(String value1, String value2) {
            addCriterion("area_code between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotBetween(String value1, String value2) {
            addCriterion("area_code not between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameIsNull() {
            addCriterion("area_short_name is null");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameIsNotNull() {
            addCriterion("area_short_name is not null");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameEqualTo(String value) {
            addCriterion("area_short_name =", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameNotEqualTo(String value) {
            addCriterion("area_short_name <>", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameGreaterThan(String value) {
            addCriterion("area_short_name >", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameGreaterThanOrEqualTo(String value) {
            addCriterion("area_short_name >=", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameLessThan(String value) {
            addCriterion("area_short_name <", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameLessThanOrEqualTo(String value) {
            addCriterion("area_short_name <=", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameLike(String value) {
            addCriterion("area_short_name like", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameNotLike(String value) {
            addCriterion("area_short_name not like", value, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameIn(List<String> values) {
            addCriterion("area_short_name in", values, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameNotIn(List<String> values) {
            addCriterion("area_short_name not in", values, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameBetween(String value1, String value2) {
            addCriterion("area_short_name between", value1, value2, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaShortNameNotBetween(String value1, String value2) {
            addCriterion("area_short_name not between", value1, value2, "areaShortName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameIsNull() {
            addCriterion("area_full_name is null");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameIsNotNull() {
            addCriterion("area_full_name is not null");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameEqualTo(String value) {
            addCriterion("area_full_name =", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameNotEqualTo(String value) {
            addCriterion("area_full_name <>", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameGreaterThan(String value) {
            addCriterion("area_full_name >", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameGreaterThanOrEqualTo(String value) {
            addCriterion("area_full_name >=", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameLessThan(String value) {
            addCriterion("area_full_name <", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameLessThanOrEqualTo(String value) {
            addCriterion("area_full_name <=", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameLike(String value) {
            addCriterion("area_full_name like", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameNotLike(String value) {
            addCriterion("area_full_name not like", value, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameIn(List<String> values) {
            addCriterion("area_full_name in", values, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameNotIn(List<String> values) {
            addCriterion("area_full_name not in", values, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameBetween(String value1, String value2) {
            addCriterion("area_full_name between", value1, value2, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaFullNameNotBetween(String value1, String value2) {
            addCriterion("area_full_name not between", value1, value2, "areaFullName");
            return (Criteria) this;
        }

        public Criteria andAreaLevelIsNull() {
            addCriterion("area_level is null");
            return (Criteria) this;
        }

        public Criteria andAreaLevelIsNotNull() {
            addCriterion("area_level is not null");
            return (Criteria) this;
        }

        public Criteria andAreaLevelEqualTo(Integer value) {
            addCriterion("area_level =", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelNotEqualTo(Integer value) {
            addCriterion("area_level <>", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelGreaterThan(Integer value) {
            addCriterion("area_level >", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("area_level >=", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelLessThan(Integer value) {
            addCriterion("area_level <", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelLessThanOrEqualTo(Integer value) {
            addCriterion("area_level <=", value, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelIn(List<Integer> values) {
            addCriterion("area_level in", values, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelNotIn(List<Integer> values) {
            addCriterion("area_level not in", values, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelBetween(Integer value1, Integer value2) {
            addCriterion("area_level between", value1, value2, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("area_level not between", value1, value2, "areaLevel");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeIsNull() {
            addCriterion("area_parent_code is null");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeIsNotNull() {
            addCriterion("area_parent_code is not null");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeEqualTo(String value) {
            addCriterion("area_parent_code =", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeNotEqualTo(String value) {
            addCriterion("area_parent_code <>", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeGreaterThan(String value) {
            addCriterion("area_parent_code >", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeGreaterThanOrEqualTo(String value) {
            addCriterion("area_parent_code >=", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeLessThan(String value) {
            addCriterion("area_parent_code <", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeLessThanOrEqualTo(String value) {
            addCriterion("area_parent_code <=", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeLike(String value) {
            addCriterion("area_parent_code like", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeNotLike(String value) {
            addCriterion("area_parent_code not like", value, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeIn(List<String> values) {
            addCriterion("area_parent_code in", values, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeNotIn(List<String> values) {
            addCriterion("area_parent_code not in", values, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeBetween(String value1, String value2) {
            addCriterion("area_parent_code between", value1, value2, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaParentCodeNotBetween(String value1, String value2) {
            addCriterion("area_parent_code not between", value1, value2, "areaParentCode");
            return (Criteria) this;
        }

        public Criteria andAreaSortIsNull() {
            addCriterion("area_sort is null");
            return (Criteria) this;
        }

        public Criteria andAreaSortIsNotNull() {
            addCriterion("area_sort is not null");
            return (Criteria) this;
        }

        public Criteria andAreaSortEqualTo(Integer value) {
            addCriterion("area_sort =", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortNotEqualTo(Integer value) {
            addCriterion("area_sort <>", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortGreaterThan(Integer value) {
            addCriterion("area_sort >", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("area_sort >=", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortLessThan(Integer value) {
            addCriterion("area_sort <", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortLessThanOrEqualTo(Integer value) {
            addCriterion("area_sort <=", value, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortIn(List<Integer> values) {
            addCriterion("area_sort in", values, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortNotIn(List<Integer> values) {
            addCriterion("area_sort not in", values, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortBetween(Integer value1, Integer value2) {
            addCriterion("area_sort between", value1, value2, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaSortNotBetween(Integer value1, Integer value2) {
            addCriterion("area_sort not between", value1, value2, "areaSort");
            return (Criteria) this;
        }

        public Criteria andAreaStateIsNull() {
            addCriterion("area_state is null");
            return (Criteria) this;
        }

        public Criteria andAreaStateIsNotNull() {
            addCriterion("area_state is not null");
            return (Criteria) this;
        }

        public Criteria andAreaStateEqualTo(String value) {
            addCriterion("area_state =", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateNotEqualTo(String value) {
            addCriterion("area_state <>", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateGreaterThan(String value) {
            addCriterion("area_state >", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateGreaterThanOrEqualTo(String value) {
            addCriterion("area_state >=", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateLessThan(String value) {
            addCriterion("area_state <", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateLessThanOrEqualTo(String value) {
            addCriterion("area_state <=", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateLike(String value) {
            addCriterion("area_state like", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateNotLike(String value) {
            addCriterion("area_state not like", value, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateIn(List<String> values) {
            addCriterion("area_state in", values, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateNotIn(List<String> values) {
            addCriterion("area_state not in", values, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateBetween(String value1, String value2) {
            addCriterion("area_state between", value1, value2, "areaState");
            return (Criteria) this;
        }

        public Criteria andAreaStateNotBetween(String value1, String value2) {
            addCriterion("area_state not between", value1, value2, "areaState");
            return (Criteria) this;
        }

        public Criteria andReamrkIsNull() {
            addCriterion("reamrk is null");
            return (Criteria) this;
        }

        public Criteria andReamrkIsNotNull() {
            addCriterion("reamrk is not null");
            return (Criteria) this;
        }

        public Criteria andReamrkEqualTo(String value) {
            addCriterion("reamrk =", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkNotEqualTo(String value) {
            addCriterion("reamrk <>", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkGreaterThan(String value) {
            addCriterion("reamrk >", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkGreaterThanOrEqualTo(String value) {
            addCriterion("reamrk >=", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkLessThan(String value) {
            addCriterion("reamrk <", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkLessThanOrEqualTo(String value) {
            addCriterion("reamrk <=", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkLike(String value) {
            addCriterion("reamrk like", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkNotLike(String value) {
            addCriterion("reamrk not like", value, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkIn(List<String> values) {
            addCriterion("reamrk in", values, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkNotIn(List<String> values) {
            addCriterion("reamrk not in", values, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkBetween(String value1, String value2) {
            addCriterion("reamrk between", value1, value2, "reamrk");
            return (Criteria) this;
        }

        public Criteria andReamrkNotBetween(String value1, String value2) {
            addCriterion("reamrk not between", value1, value2, "reamrk");
            return (Criteria) this;
        }

        public Criteria andAreaTypeIsNull() {
            addCriterion("area_type is null");
            return (Criteria) this;
        }

        public Criteria andAreaTypeIsNotNull() {
            addCriterion("area_type is not null");
            return (Criteria) this;
        }

        public Criteria andAreaTypeEqualTo(String value) {
            addCriterion("area_type =", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeNotEqualTo(String value) {
            addCriterion("area_type <>", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeGreaterThan(String value) {
            addCriterion("area_type >", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeGreaterThanOrEqualTo(String value) {
            addCriterion("area_type >=", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeLessThan(String value) {
            addCriterion("area_type <", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeLessThanOrEqualTo(String value) {
            addCriterion("area_type <=", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeLike(String value) {
            addCriterion("area_type like", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeNotLike(String value) {
            addCriterion("area_type not like", value, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeIn(List<String> values) {
            addCriterion("area_type in", values, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeNotIn(List<String> values) {
            addCriterion("area_type not in", values, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeBetween(String value1, String value2) {
            addCriterion("area_type between", value1, value2, "areaType");
            return (Criteria) this;
        }

        public Criteria andAreaTypeNotBetween(String value1, String value2) {
            addCriterion("area_type not between", value1, value2, "areaType");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}